上位机开发笔记
» 搜索 » user:admin post:true
halcon示例分析:通过网格分离小键盘键
* This program determines the junctions of
* the grid separating the keys of a keypad
*
dev_update_off ()
*
* step: acquire image
*
read_image (Image, 'k
admin •
2018-02-03
halcon边缘查找和后续处理
get_region_runs (ObjectSelected, Row, ColumnBegin, ColumnEnd)
admin •
2018-02-03 • 最后回复来自 admin
功能:查询一个区域的扫描宽度编码
for C := 1 tohalcon边缘查找和后续处理
edges_sub_pix (ImageReduced, Edges, 'canny', 1.5, 10, 40)
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 2, 2)
select_contours_xld (ContoursSplit, SelectedContours, 'contour_length', 25, 99999, -0.5, 0.5)
admin •
2018-02-03 • 最后回复来自 admin
halcon边缘查找和后续处理
disp_arrow (WindowID, Row, Column, Row2, Column2, 2)
admin •
2018-02-03 • 最后回复来自 admin
在屏幕上显示一个箭头
如果下面紧接着是
write_string (WindowID, i)那个这个字符串的位置就是在箭头所指位置.....
halcon学习笔记
threshold (Image, Region, 100, 255)
dilation_rectangle1 (Region, RegionDilation, 15, 15)
reduce_domain (Image, RegionDilation, ImageReduced)
* Extract edges in the reduced image domain
edges_sub_pix (ImageReduced, Edges, 'canny', 0.7, 10, 60)
admin •
2018-02-03 • 最后回复来自 admin
halcon在视窗上的简单操作(线)
distance_lr()
计算直线和区域之间的距离,返回最小和最大距离
distance_pc()
计算点到轮廓的最大距离和最小距离
distance_pl()
计算点到直线的垂直距离
distance_ss()
计算两线段之间的距离,返回最大和最小值
distance_pp()
计算一个点到另外一个点的距离
halcon在视窗上的简单操作(线)
* Calculate the distances between one line segment and one line
*
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'white', WindowID)
dev_set_color ('black')
RowLine1 := 400
ColLine1 := 200
RowLine2 := 200
ColLine2 := 400
Rows := 300
Columns := 50
disp_line
admin •
2018-02-02 • 最后回复来自 admin
halcon在视窗上的简单操作(线)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
RowA1 := 255
ColumnA1 := 10
RowA2 := 255
ColumnA2 := 501
gen_contour_polygon_xld (Contour, [RowA1,RowA2], [ColumnA1,ColumnA2])
RowB1 := 255
ColumnB1 := 255
for I := 5 to 360 by 5
RowB2 := 255 - sin(rad(I))
admin •
2018-02-02 • 最后回复来自 admin
halcon在视窗上的简单操作(线)
画一条线:
disp_line — Draws lines in a window.
dev_close_window () dev_open_window (0, 0, 512, 512, 'white', WindowID) RowA1 := 255 ColumnA1 := 10 RowA2 := 255 ColumnA2 := 501 dev_set_color ('red') disp_line (WindowID, RowA1, ColumnA1, RowA2, ColumnA2)halcon定位熊猫型保偏光纤轴心
* Image Acquisition 01: Code generated by Image Acquisition 01
dev_close_window ()
read_image (Image, 'C:/Users/RD-W/Desktop/猫眼光纤/298A2EDD810F80896AF853AFD
admin •
2018-02-01
halcon写微信跳一跳辅助
将上面的halcon代码移植到aardio软件之后如下:
import win.ui; /*DSG{{*/ mainForm = win.form(text="Halcon处理跳一跳演示算法";right=938;bottom=1349) mainForm.add( button={cls="button";text="加载一副测试图";left=9;top=369;right=170;bottom=419;z=2}; picturebox={cls="picturebox";left=182;top=0;rhalcon写微信跳一跳辅助
第四版:
利用查找边缘 , 滤波之后按照行坐标排序,提取第一个边缘线, 画出这个边缘线的最小外接圆, 获取到外接圆的圆心坐标 即为 下一个跳板的中心坐标.
小人坐标继续利用上面的方法实现.
存在的问题: 可能边缘方法用的不好, 外接圆有时候圆心会靠边缘. 估计实际测试中有可能会跳出跳板导致摔死......
dev_close_window () for Index := 1 to 13 by 1 dev_set_draw ('margin')halcon学习笔记
reduce_domain (GrayImage, Paprika, ImageReduced)
create_shape_model (ImageReduced, 'auto', 0, rad(360), rad(1.5), ['point_reduction_high','no_pregeneration'], 'use_polarity', [25,30], 5, ModelID1)
reduce_domain (GrayImage, Cream, ImageReduced)
create_shape_model
admin •
2018-01-30 • 最后回复来自 admin
halcon学习笔记
create_shape_model (ImageReduced, 'auto', 0, rad(360), rad(1.5), ['point_reduction_high','no_pregeneration'], 'use_polarity', [25,30], 5, ModelID1)
admin •
2018-01-30 • 最后回复来自 admin
创建模板
halcon学习笔记
shape_trans (RegionOpening, Circle, 'outer_circle')
admin •
2018-01-30 • 最后回复来自 admin
转换region区域的图形(变换区域的形状),
halcon学习笔记
read_image (Image, 'food/soft_cheese_01')
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
admin •
2018-01-29 • 最后回复来自 admin
读取图片之后,打开一个自适应图片大小的窗口
设置线宽,如果下面不进行再次设置则默认一直是这个线宽